Advances in computer technology and software have made possible the creation of richly featured virtual characters capable of a wide range of complex movements. However, for mechanical characters and mechanical objects in general, motion is typically determined by physical assemblies of gears and linkages, making the design of mechanical objects capable of sophisticated, detailed movement a considerable challenge.
Unlike the technology supporting the creation of virtual characters, conventional design technology for producing mechanical objects has advanced relatively slowly and continues to require the participation of expert designers and engineers. Despite the high degree of technical expertise typically employed, the conventional design process for mechanical objects remains largely one of trial and error, often requiring many iterations to produce an acceptable product. Due to the cost associated with such an expertise intensive iterative design approach, and to the greatly increased iteration times associated with complex mechanical designs, mechanical objects such as mechanical characters tend to be limited in complexity. The unfortunate result of such limited complexity is that the range of possible movements by mechanical objects, as well as the creative freedom of their designers, is constrained.